package cn.melonlib.record.oper.anno;

import cn.melonlib.record.oper.enums.OperatorRecordMode;

import java.lang.annotation.*;

/**
 * 日志记录对象
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface OperatorRecordService {

    /**
     * 日志记录模式
     * @return
     */
    OperatorRecordMode mode() default OperatorRecordMode.NONE;

    /**
     * 包含模式扫描之外的符合要求的方法，使用正则表达式匹配方法名称
     * @return
     */
    String[] includes() default {};

    /**
     * 排除已经包含的方法，正则表达式匹配方法名，排除表达式优先级高于包含
     * @return
     */
    String[] excludes() default {};

}
